// 校验1-365的正整数
export function numPositiveLimit() {
    return (rule, value, callback) => {
        let reg = /^(?:36[0-5]|3[0-5]\d|[12]\d\d|[1-9]\d|[1-9])$/;
        if (reg.test(value) && value > 0) {
            callback();
        } else {
            callback(new Error('支持1-365的正整数'));
        }
    };
}

// 校验1-99的正整数
export function numPositiveLimitNinetyNine() {
    return (rule, value, callback) => {
        let reg = /^([1-9]|[1-9]\d)$/;
        if (reg.test(value) && value > 0) {
            callback();
        } else {
            callback(new Error('支持1-99的正整数'));
        }
    };
}

// 校验正整数
export function numPositiveNumber() {
    return (rule, value, callback) => {
        let reg = /^[1-9]\d*$/;
        if (reg.test(value) && value > 0) {
            callback();
        } else {
            callback(new Error('支持正整数'));
        }
    };
}

// 校验数字 支持正数，最多小数点后两位
export function numTwoDecimal(includeZero) {
    return (rule, value, callback) => {
        let reg = /^\d+(\.\d{1,2})?$/;
        let noZeroLock = reg.test(value)
        let zeroLock = reg.test(value) && value > 0
        let lock = includeZero ? noZeroLock : zeroLock
        if (lock) {
            callback();
        } else {
            callback(new Error('支持正数，最多小数点后两位'));
        }
    };
}

//校验时间 开始 结束
export function judgeDIffTime(formRef, startFiledName, endFiledName, startFiledTxt, endFiledTxt) {
    return (rule, value, callback) => {
        let formData = formRef.returnModel();
        if (formData[endFiledName] && formData[startFiledName]) {
            if (rule.field === startFiledName) {
                if (formData[startFiledName] > formData[endFiledName]) {
                    callback(new Error(startFiledTxt + '不能大于' + endFiledTxt));
                } else {
                    formRef.clearValidate(endFiledName);
                    callback();
                }
            } else {
                if (formData[startFiledName] > formData[endFiledName]) {
                    callback(new Error(endFiledTxt + '不能小于' + startFiledTxt));
                } else {
                    formRef.clearValidate(startFiledName);
                    callback();
                }
            }
        }
    };
}